package com.aaa.system.controller;

import com.aaa.system.service.UserService;
import com.aaa.entity.User;
import com.aaa.vo.Result;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;
import java.util.Map;

/**
 * @author Lei
 * @create 2023-03-20 16:56
 */
@RestController
@RequestMapping("/system/user")
public class UserController {
    @Autowired
    private UserService userService;

    /**
     * 通过手机号查询但前登录用户的信息
     * @param username  手机号
     * @return  当前登录用户
     */
    @GetMapping("getByUsername/{username}")
    public User getByUsername(@PathVariable String username){
        return userService.getByUsername(username);
    }

    /**
     * 从token中获取当前登录用户的所有信息
     * @return 当前登录用户
     */
    @PostMapping("/getUser")
    public User getUser(){
        return userService.getUser();
    }

    /**
     * 查询用户表中的用户id和部门id
     * @param map 部门和用户的键值对结构
     * @return  User数组
     */
    @PostMapping("queryUserNeedScheduling")
    public List<User> queryUserNeedScheduling(@RequestBody Map<String,Object> map){
        return userService.queryUserNeedScheduling(map);
    }

    /**
     * 查询所有的用户信息，用于排班表初始化用户信息
     * @return 用户数组
     */
    @GetMapping("/list")
    public List<User> getListAll(){
        return userService.getListAll();
    }


    @PostMapping("getUsernameById/{userId}")
    public String getUsernameById(@PathVariable Long userId){
        return userService.getUsernameById(userId);
    }

}
